package com.av.acciones.tarjeta;

import org.apache.log4j.Logger;

import com.av.acciones.BaseAccion;
import com.av.db.dataobjects.Tarjeta;
import com.av.db.layer.interfaces.TarjetaLayer;
import com.av.exceptions.AvException;
import com.av.rmi.Parametro;
import com.av.rmi.Parametro.Tipo;

/**
 * Accion que agrega una tarjeta en la base de datos configurada
 * 
 * @author Victor J Morales R
 * 
 */
public class AgregarAccion extends BaseAccion {

	private static Logger log = Logger.getLogger(AgregarAccion.class);

	@Override
	public Parametro ejecutar(Parametro parametro) throws AvException {
		log.info("Inicio - ejecutar(Parametro parametro)");

		TarjetaLayer tl = (TarjetaLayer) getBean(TarjetaLayer.BEAN_NAME);
		Tarjeta t = null;
		if (parametro.getValor(Tipo.INPUT) instanceof Tarjeta) {
			t = (Tarjeta) parametro.getValor(Tipo.INPUT);
			tl.agregar(t);
			parametro.setValor(Tipo.OUTPUT, t);
		}

		log.info("Fin - ejecutar(Parametro parametro)");

		return parametro;
	}// ejecutar
}// AgregarAccion